A disk drive is a storage device often employed in computer systems where storage of large quantities of data is required. Large capacity disk drives typically include several platters or disks. Each side of each platter may be coated with a magnetic oxide material on which data may be stored. A read/write head disposed adjacent each side of each platter detects or creates magnetic flux changes in the oxide in order to read information from the disk or alternatively to write data to the disk. The heads are typically affixed to a common structure which, under control of the disk system, permits the heads to be selectively positioned at a selected radius between the inner and outer diameters of the disk. The heads may be stepped along the selected radius. The radius of each "step" of the heads defines a circular track on the rotating disk on which information may be stored. Typically, by convention, track .phi. is located at the outer working diameter of the platter and the highest track number is located at the inner working diameter with track numbers increasing sequentially in number therebetween.
The heads are stacked vertically and all such heads move together. Thus, if one head must be moved to access data on a certain track, all other connected heads move in unison and are positioned above the same track on the respective platter surface. All tracks on the respective platter surfaces that can be accessed without stepping the heads define a cylinder. Some drives are constructed with multiple heads per platter surface.
Tracks are further subdivided into smaller information containing units called sectors. The number of sectors on a track depends on the particular type of disk drive employed.
The address of any sector on a disk drive may thus be uniquely specified by a cylinder number, a head number and sector number. For example, the first sector on a drive is located at cylinder .phi. head .phi. and sector .phi..
Certain computer operating systems do not employ cylinder, head and sector addressing for disk drives but instead view the drive as one continuous address space; the address of the first sector being .phi. and the address of the last sector being N-1 where N equals the total number of sectors on the drive. In such systems, a disk controller converts addresses generated by the operating system into a physical address corresponding to the cylinder, head and sector addresses needed to access a specific sector on the storage media. Some operating systems in current use are more efficient when using disk systems with a large, continuous defect free address space.
When an operating system prepares to store a file to a disk drive, it typically first looks for a continuous address space of sufficient size to accommodate the entire file. If such a space does not exist, the file must be fragmented into a number of smaller segments each of which can fit within the address spaces available on the disk. The process of fragmenting a file is time consuming and decreases the performance of the system. Moreover, many programs and systems prevent a file from being severed into more than a specified number of segments. The unavailability of a sufficient number of address spaces of a size sufficient to accommodate the file may preclude the system from running an application. The above Problem is apparent, for example, with large word processing files and in data base files which may occupy tens of thousands of sectors. The presence of a relatively small number of randomly spaced defects in the storage media of a disk drive may render a system unuseable for such large word processing and data base files.
The continuous trend of decreasing the physical size of disk drives while attempting to pack data ever more densely makes it increasingly more difficult and more costly to provide defect free media. Typical disk drives of 500 to 800 megabyte capacity which are commercially available generally have between 30 and 300 defects per drive. In such drives, the largest continuous defect free address space is typically between 10,000 and 30,000 sectors in length. While the prices of such drives are commercially attractive, the amount of fragmentation introduced as a consequence of media defects may render such drives unacceptable in applications employing large data files.